package com.payment.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.payment.common.annotation.Excel;
import com.payment.common.base.BaseEntity;

import lombok.Getter;
import lombok.Setter;

/**
 * 交易新订单表 sys_payment_order
 *
 * @author payment
 * @date 2019-02-17
 */
@Getter
@Setter
public class PaymentOrder extends BaseEntity {
	private static final long serialVersionUID = 1L;
	/** 主键 */
	private String id;
	/** 订单号 */
	@Excel(name = "订单号")
	private String orderNo;
	/** 上游订单号 */
	private String acqOrderNo;
	/** 商户id */
	@Excel(name = "商户ID")
	private String merchantId;
	/** 商户名称 */
	@Excel(name = "商户名称")
	private String merchantName;
	/** 订单状态（0待回调1成功2失败3已补单 9回 ） */
	@Excel(name = "订单状态", readConverterExp = "0=待支付,1=支付成功,2=支付失败,3=已补单")
	private Integer orderStatus;
	/**
	 * 订单类型（0 无卡消费 1养卡消费 2养卡代付3无卡出款 4退款 5提现 6充值升级,7全额消费 8全额还款9卡测评,10境外消费,11快捷无卡）
	 */
	@Excel(name = "订单状态", readConverterExp = "0=无卡消费,1=养卡消费,2=养卡代付,3=无卡出款,4=退款,5=提现,6=充值升级,7=全额消费,8=全额还款,9卡测评"
			+ ",10=境外消费,11=快捷无卡")
	private Integer orderType;
	/** 通道ID */
	@Excel(name = "通道ID")
	private String acqId;
	/** 通道编号 */
	@Excel(name = "通道编号")
	private String acqCode;
	/** 通道名称 */
	@Excel(name = "通道名称")
	protected String acqName;
	/** 卡号 */
	@Excel(name = "卡号")
	private String creditNumber;
	/** 银行名称 */
	@Excel(name = "银行名称")
	private String bankName;
	/** 金额 */
	@Excel(name = "金额")
	private BigDecimal amountMoney;
	/** 成本手续费 */
	private BigDecimal costRateMoney;
	/** 实扣手续费 */
	private BigDecimal rateMoney;
	/** 收益 */
	@Excel(name = "收益")
	private BigDecimal profitMoney;
	/** 清分状态（0未清分1已清分） */
	@Excel(name = "清分状态", readConverterExp = "0=未清分,1=已清分")
	private Integer clearingStatus;
	/** 是否回调（0未回调1已回调） */
	private Integer isNotify;
	/** 通道返回的状态吗 */
	@Excel(name = "通道返回的状态码")
	private String acqReturnCode;
	/** 通道返回的请求描述 */
	@Excel(name = "通道返回的请求描述")
	private String acqReturnMsg;
	/** 订单创建时间 */
	@Excel(name = "订单创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	@Excel(name = "订单完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
	private Date completeTime;
	/** 总笔数 */
	private Integer number;
	/** 总交易额 */
	private BigDecimal totalMoney;
	/** ip */
	private String ip;
	/** 到账卡号 */
	private String toCardNumber;
	/** 到账银行 */
	private String toCardBank;
	private Date completeTimeStartTime1;
	private Date completeTimeEndTime1;
}
